這一系列文章的主題為後端入門,將帶領想自學後端程式語言但無基礎的讀者們從環境部署、認識PHP基礎語法、連接資料庫(MySQL)到使用框架(Laravel),並實作出簡單的東西如小遊戲、會員登錄系統及留言板等。
學習前的準備:開發環境與執行環境的部署
好的開始是成功的一半,開始學習程式之前,我們要先建置一個能夠測試程式運作的環境。本系列將以LAMP為開發環境,今天的主題會先簡單介紹所謂的LAMP,而接下來的幾篇將會帶領各位安裝LAMP。
什麼是LAMP?
LAMP是Web application stacks的一種,也就是一組綁在一起來運行動態網站或伺服器的開源軟體。所謂的Web application stacks必須包含一個作業系統(operating system)、網頁伺服器(web server)、資料庫(database)和一種程式語言(programming language)。
而LAMP = Linux(作業系統)+Apache(網頁伺服器)+MySQL(資料庫)+PHP(程式語言)。
其實這些開源軟體一開始並不是被設計為一定要綁在一起使用的,例如WAMP就是以Windows取代Linux作為該開發環境的作業系統。然而上述這些軟體的共同特點為開源、廉價、可靠性高而廣受歡迎,因此經常被組合在一起使用。近年來,他們的相容性不斷在提升,被綁在一起使用的情形也越來越普遍。
- Linux
相信大家應該都聽過Linux,它是一種開源式的作業系統,使用者可依需求自由的更改作業系統源碼;此外它也不像Windows容易受到病毒、惡意程式的攻擊。航向後端的道路上,熟悉Linux指令並習慣以終端機(terminal)下指令取代圖形化介面的操作是非常重要的,必要的時候(例如硬碟空間不足無法灌雙系統時)你還必須忍痛割捨慣用的Windows,將你的PC重灌成Linux系統。在接下來的文章中,不論安裝軟體、執行網頁等,基本上都會在terminal上直接下指令來執行,我會另外再開一篇文章來介紹這些基本常用的指令。
- Apache
在認識Apache前,先讓大家了解網頁伺服器(server)在做什麼:它負責在網頁之間傳遞資訊並遵循HTTP(通訊安全協定)的規範、將網頁資料儲存於伺服器。當使用者在網址列上輸入一串網址時,會向server發出一個請求,而server就會遵照HTTP協定取出該網頁的資料並回傳給使用者。
Apache是目前最受歡迎的網頁伺服器,在Internet中,有65%的網頁都以Apache為網頁伺服器。它的優點除了為開源軟體,可依使用者需求加以客製化之外,也相當安全可靠。
- MySQL
MySQL是一種關聯式資料庫管理系統,用來儲存網頁應用程式的數據資料如會員帳戶、商品資訊等,透過SQL語法可以很快速的從資料庫中查詢到這些資訊。
- PHP
PHP的特點除了簡單易學,非常適合初學者之外,也是一種伺服器端HTML嵌入式腳本語言,可以在HTML語法中嵌入PHP程式碼。不過本系列的教學是以後端開發為主,並不會著墨太多在HTML與CSS語法上。
今天的介紹就到這邊,下集會帶大家了解基礎Linux指令操作~
參考資料:https://zh.wikipedia.org/wiki/LAMP